1. Field of the Invention
The present invention relates to an image processing apparatus that is capable of registering a plurality of tasks as a series of processing flows and execute the same, a method of controlling the image processing apparatus, and a storage medium.
2. Description of the Related Art
There is provided an application which combines a plurality of tasks on documents in an image processing apparatus and registers the combined tasks as a series of processes such that by calling the series of processes, a user can execute a plurality of processes for his frequent use, without performing troublesome operations. The term “task” is intended to mean a process that can be realized by an individual function e.g. of a multifunction image processing apparatus or a process that can be realized by an application executed by an information processing apparatus or the like. For example, input and output tasks of the image processing apparatus include scanning of originals, printing of documents, transmissions (e-mail transmission, facsimile transmission, file transmission, and so forth) and storage in disks (storage in hard disks inside and outside the apparatus). Examples of edit tasks include combination of a plurality of documents, deletion of pages on documents.
A combination of a series of tasks generated for the purpose of connecting a plurality of tasks to process the same in a time-series manner is called a processing flow. This combination can be generated by various combination processes including execution of a task using the result of another task as an input thereto. In the image processing apparatus incorporating the application handling the above-described processing flows, the user depresses a button (button having a processing flow assigned thereto), whereby a processing flow associated with the button is executed.
Some of the image processing apparatuses configured as above have the function of transmitting a processing flow generated thereby to another image processing apparatus. In the image processing apparatus that receives the processing flow, a button having the processing flow assigned thereto is displayed on a UI (User Interface), and when the button is depressed by a user, the processing flow is executed. Further, it is also possible to transmit the processing flow to still another image processing apparatus from the image processing apparatus having received the processing flow. Thus, even when one image processing apparatus is replaced by another, there is no need to generate the same processing flow that has been conventionally used, on the new image processing apparatus after replacement, again.
In the above-described image processing apparatuses, however, tasks that can be analyzed and executed and settings of tasks are sometimes different depending on the type and option configuration of an apparatus, or the version of an application for handling processing flows. Therefore, when a transmitted processing flow includes a task which is not supported by a receiving-side image processing apparatus, the unsupported portion of processing flow cannot be analyzed. Let it be assumed, for example, that a processing flow is generated which includes tasks of “transmitting scanned data after giving a user certificate thereto”. In this case, an image processing apparatus which does not support the function of giving a user certificate is incapable of analyzing the portion of “giving a user certificate”. As a consequence, even if the apparatus attempts to execute the processing flow, it cannot carry out the portion of “giving a user certificate” only to execute processing for “transmitting scanned data” or result in a processing error.
As a solution to such an unexecutable image processing request as described above, there has been proposed a method in Japanese Patent Laid-Open Publication No. 2002-190889. In Japanese Patent Laid-Open Publication No. 2002-190889, when an image processing apparatus determines that it cannot execute a predetermined image processing request set thereto, the apparatus transfers converted image data to an image processing apparatus which is determined to be capable of using a selected and set predetermined image processing function effectively, to thereby cause the image processing apparatus to execute the request in place of itself.
However, in the method proposed in Japanese Patent Laid-Open Publication No. 2002-190889, only image data is exchanged between the image processing apparatuses, and when the same image processing request is desired to be executed by one image processing apparatus that executes the request in place of the other, it is required to set the image processing request again. It is desired that while maintaining the merit of “dispensing with troublesome operations by the user”, which the above-mentioned application for handling processing flows has, it is further possible to make unexecutable processing flows executable as desired by the user without changing the contents, i.e. tasks thereof.
Furthermore, when one image processing apparatus incapable of executing a processing flow causes another image processing apparatus to execute the processing flow in place thereof, if the processing flow includes finally discharging printed sheets, there are the following concerns involving the problem of security: The other image processing apparatus which is to discharge the printed sheets is physically away from the one image processing apparatus used by the user for instructing to start the execution of the processing flow, and hence it is not easy for the user to know which image processing apparatus is to discharge the printed sheets onto a discharge tray thereof. Similarly, there is also envisaged a problem that since the printed sheets are to be discharged from the other image processing apparatus physically away from the one image processing apparatus used by the user for instructing to start the execution of the processing flow, the user is liable to leave or forget to take out the printed sheets.